package de.hda.enumeration;

import java.util.ArrayList;

public enum EigenschaftKonstantenEnum {

	  ROMANTISCHER_ABEND_ZU_ZWEIT(0, 0,""),
	  SPORTEVENT(1, 0,""),
	  FAMILIENESSEN(2, 0,""),
	  SILVESTER(3, 0,""),
	  GEBURTSTAG(4, 0,""),
	  WEIHNACHTEN(5, 0,""),
	  HELLOWEEN(6, 0,""),
	  TAG_DER_EINHEIT(7, 0,""),
	  VATERTAG(8, 0,""),
	  MUTTERTAG(9, 0,""),
	  VALENTINSTAG(10, 0,""),
	  PARTY(11, 0,""),
	  SOMMER(12, 0,""),
	  FRUEHLING(13, 0,""),
	  HERBST(14, 0,""),
	  WINTER(15, 0,""),
	  HOCHZEITSTAG(16, 0,""),
	  
	  BACKEN(17, 1,""),
	  BRATEN(18, 1,""),
	  BLANCHIEREN(19, 1,""),
	  DAEMPFEN(20, 1,""),
	  DUENSTEN(21, 1,""),
	  EINMACHEN(22, 1,""),
	  FRITTIEREN(23, 1,""),
	  EINFRIEREN(24, 1,""),
	  GRATINIEREN_UEBERBACKEN(25, 1,""),
	  MIKROWELLE(26, 1,""),
	  
	  EINFACH(27, 2,""),
	  FETTARM(28, 2, ""),
	  GUT_VORZUBEREITEN(29, 2, ""),
	  KALORIENARM_LEICHT(30, 2, ""),
	  KLASSIKER(31, 2, ""),
	  PREISWERT(32, 2, ""),
	  RAFFINIERT(33, 2, ""),
	  SCHNELL(34, 2, ""),
	  VEGETARISCH(35, 2, ""),
	  VEGAN(36, 2, ""),
	  VITAMINREICH(37, 2, ""),
	  VOLLWERT(38, 2, ""),
	  
	  AFRIKANISCH(39, 3, ""),
	  ASIATISCH(40, 3, ""),
	  BRITISCH(41, 3, ""),
	  DEUTSCH_REGIONAL(42, 3, ""),
	  
	  VORSPEISE(43, 4, ""),
	  HAUPTSPEISE(44, 4, ""),
	  BEILAGE(45, 4, ""),
	  SUESSE_HAUPTSPEISE(46, 4, ""),
	  NACHTISCH_DESSERT(47, 4, ""),
	  GETRAENKE(48, 4, ""),
	  PARTYGERICHT(49, 4, ""),
	  BRUNCH_FRUEHSTUECK(50, 4, ""),
	  KINDERREZEPT(51, 4, ""),
	  
	  AUFLAUF(51, 5, ""),
	  BRATEN_FLEISCH(51, 5, ""),
	  DIPS_CREMES(51, 5, ""),
	  EINGEMACHTES(51, 5, ""),
	  EISSPEISE_HALBGEFROREN(51, 5, ""),
	  FINGERFOOD_SNACK(51, 5, ""),
	  KONFEKT_SUESSWARE(51, 5, ""),
	  KUCHEN_TORTE(51, 5, ""),
	  PFANNKUCHEN_CREPE(51, 5, ""),
	  PIKANTE_KUCHEN_PIZZA(51, 5, ""),
	  PLAETZCHEN_KEKSE(51, 5, ""),
	  PUDDING_CREMES(51, 5, ""),
	  SALAT(51, 5, ""),
	  SANDWICH_BROTE(51, 5, ""),
	  SUPPEN_EINTOPF(51, 5, ""),
	  WUERZMITTEL_MARINADE(51, 5, "");
	  
	private int value;
	private int unterkategorie;
	private String longName;
	private static int SZENARIUM = 0;
	private static int ZUBEREITUNGSART = 1;
	private static int OPTIONEN = 2;
	private static int LAENDERKUECHE = 3;
	private static int REZEPTKATEGORIE = 4;
	private static int SPEISEART = 4;	
	
	private EigenschaftKonstantenEnum(int value, int unterkategorie, String longName) {
		this.value = value;
		this.unterkategorie = unterkategorie;
		this.longName = longName;
	}

	public int getValue() {
		return value;
	}

	public String getLongName() {
		return longName;
	}
	
	public int getUnterkategorie() {
	
		return unterkategorie;
	}

	public static EigenschaftKonstantenEnum fromValue(int value) {
		EigenschaftKonstantenEnum[] enums = EigenschaftKonstantenEnum.values();
		for(EigenschaftKonstantenEnum qe : enums) {
			if(qe.getValue() == value) {
				return qe;
			}
		}
		return null;
	}
	
	public static ArrayList<EigenschaftKonstantenEnum> fromUnterkategorie(int unterkategorie) {
		EigenschaftKonstantenEnum[] enums = EigenschaftKonstantenEnum.values();
		ArrayList<EigenschaftKonstantenEnum> enums_uk = new ArrayList<EigenschaftKonstantenEnum>();
		for(EigenschaftKonstantenEnum qe : enums) {
			if(qe.getUnterkategorie() == unterkategorie) {
				enums_uk.add(qe);
			}
		}
		return enums_uk;
	}
	
	public static EigenschaftKonstantenEnum fromLongName(String longName) {
		EigenschaftKonstantenEnum[] enums = EigenschaftKonstantenEnum.values();
		for(EigenschaftKonstantenEnum we : enums) {
			if(we.getLongName().equals(longName)) {
				return we;
			}
		}
		return null;
	}
	
}
